// my/pages/AboutUs/AboutUs.js
// 导入HTTP工具
const { http } = require('../../../utils/http');

Page({
  /**
   * 页面的初始数据
   */
  data: {
    // 关于我们信息 - 根据后端接口格式调整
    aboutInfo: {
      imageUrl: '', // 图片URL
      title1: '',   // 主标题
      title2: '',   // 副标题
      appIntro: '', // 程序简介
      teamIntro: '', // 团队介绍
      copyright: ''  // 版权信息
    },
    loading: true, // 加载状态
    error: false   // 错误状态
  },

  /**
   * 生命周期函数--监听页面加载
   */
  onLoad(options) {
    // 获取关于我们信息
    this.getAboutInfo();
  },

  /**
   * 获取关于我们信息 - 调用真实后端接口
   */
  getAboutInfo() {
    // 显示加载中
    this.setData({ loading: true, error: false });

    // 调用后端接口 - 路径中不需要包含/dev-api，因为已在http.js中配置
    http.get('/ssh/info/list')
      .then(res => {
        console.log('获取关于我们信息成功:', res.rows);
        // 根据后端返回格式处理数据
        let aboutData = {};
        // 检查是否有数据
        if (res.rows && res.rows.length > 0) {
          aboutData = res.rows[0] || {};
          // 更新页面数据
          // 处理富文本内容，确保HTML字符串能够正确显示
          this.setData({
            aboutInfo: {
              imageUrl: '/images/about.jpg',
              // imageUrl: aboutData.imageUrl || '/images/about.jpg',
              title1: aboutData.title1 || '在线刷题小程序',
              title2: aboutData.title2 || '让学习更高效',
              // 处理富文本内容 - 如果是HTML字符串，直接使用
              appIntro: this.formatRichText(aboutData.appIntro) || '暂无程序简介',
              // 处理团队介绍内容 - 根据需求决定是否使用富文本
              teamIntro: this.formatRichText(aboutData.teamIntro) || '暂无团队介绍',
              // 版权信息
              copyright: aboutData.copyright || '© 2024 在线刷题小程序 版权所有'
            },
            loading: false
          });
        }
      })
      .catch(err => {
        console.error('获取关于我们信息失败:', err);
        // 显示错误提示
        wx.showToast({
          title: '获取信息失败',
          icon: 'none',
          duration: 2000
        });
      });
  },

  /**
   * 重新加载数据
   */
  reloadData() {
    this.getAboutInfo();
  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow() {
    // 页面显示时可以刷新数据
    // this.getAboutInfo(); // 如需每次显示都刷新，取消注释
  },

  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady() {
  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide() {
  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload() {
  },

  /**
   * 格式化富文本内容
   * @param {string} content - 原始富文本内容
   * @returns {string} 格式化后的富文本内容
   */
  formatRichText(content) {
    if (!content) return '';
    
    // 如果内容已经是HTML格式，直接返回
    if (typeof content === 'string' && content.includes('<')) {
      return content;
    }
    
    // 如果是纯文本，可以转换为HTML格式（可选）
    // 这里直接返回原始内容，因为rich-text组件也支持纯文本
    return content;
  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom() {
  }
})